package ojt.logic;

import ojt.dao.DaoShain;
import ojt.exception.BusinessException;
import ojt.exception.SystemException;
import ojt.model.Shain;
import ojt.util.Validater;

public class UpdateLogic {
	
	public UpdateLogic(){
	}
	/**
	 * 更新実行メソッド.
	 * 社員番号の入力チェックを行い、社員番号に一致する社員情報を取得する。
	 * 社員番号モデルオブジェクトに社員情報を格納し、返却する
	 * @param shain_no 社員番号
	 * @return 取得した社員情報オブジェクト
	 * @throws SystemException システム例外
	 * @throws BusinessException 業務例外：入力エラー、該当する社員なし
	 */
	public Shain execute(String shain_no)throws SystemException, BusinessException {
		//社員所情報アクセスクラス
		DaoShain dao = null;
		//入力チェック
		if(!Validater.checkShain_no(shain_no)){
			throw new BusinessException("不正な操作が行われました");
		}
		//社員情報モデルクラス
		Shain shain;
		
		//入力チェックがなければ、DBアクセスする
		try{
			//DBアクセスオブジェクトの作成
			dao = new DaoShain();
			//社員情報の取得
			shain = dao.seachShainDetail(shain_no);
		}
		//コネクションの削除
		finally{
			if(dao != null){dao.closeConnection();}
		}
		return shain;
	}
}
